package com.wfh.aihelper.ai;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import reactor.core.publisher.Flux;

import java.util.List;

/**
 * @Title: AICOdeHelperService
 * @Author wangfenghuan
 * @Package com.wfh.aihelper.ai
 * @Date 2025/7/9 20:17
 * @description: 服务
 */
public interface AiCodeHelperService {

    record Report (String name, List<String> suggestList){ }

    @SystemMessage(fromResource = "src/main/resources/prompt.txt")
    String chat(String userMessage);

    @SystemMessage(fromResource = "src/main/resources/prompt.txt")
    Report chatReport(String userMessage);


    @SystemMessage(fromResource = "src/main/resources/prompt.txt")
    Flux<String> chatStream(@MemoryId Long id, @UserMessage String userMessage);
}
